package cn.ecnu.faker.util;




import com.github.javafaker.Faker;
import org.apache.commons.lang3.time.DateUtils;

import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.Random;

public class FakerUtil {
    private static Faker faker = new Faker(new Locale("zh-CN"));
    private static Random random = new Random(42);

    // 生成用户姓名
    public static String generatePersonName() {
        return faker.name().username();
    }


    // 生成ID 0-100
    public static Integer generateId() {
        return Math.abs(random.nextInt() % 100);
    }

    // 生成评论
    public static String generateComment() {
        return faker.backToTheFuture().quote();
    }

    // 生成诊断信息
    public static String generateDiagnosis() {
        return faker.witcher().quote();
    }

    // 生成评分
    public static Integer generateGrade() {
        return Math.abs(random.nextInt() % 6);
    }

    public static Date generateDate() {
        return faker.date().between(DateUtils.addDays(new Date(), -2), new Date());
    }

    // 生成职称
    public static String generateTitle() {
        String[] titles = new String[]{"三级心理师", "二级心理师", "一级心理师"};
        int index = Math.abs(random.nextInt() % 3);
        return titles[index];
    }

    // 生成执业ID
    public static String generateTitleId() {
        return faker.idNumber().valid();
    }

    // 生成NickName
    public static String generateNickName() {
        return faker.pokemon().name();
    }

    // 生成手机号码
    public static String generatePhone() {
        return faker.phoneNumber().phoneNumber();
    }

    // 生成用户图像
    public static String generateAvatar() {
        return null;
    }

    public static Integer generateRole() {
        return Math.abs(random.nextInt() % 3);
    }

    public static Integer generateGender() {

        return Math.abs(random.nextInt() % 2);
    }

    public static Integer generateAge() {
        return Math.abs(random.nextInt() % 80);
    }

    public static String generateAdd() {
        return faker.pokemon().location();
    }






}
